<template>
	<view class="page">
		<view class="pic-block">
			<image @click="editHead" :src="user.headPic" mode="" class="big-pic"></image>
			<view class="photo-icon">
				<label class="iconfont iconxiangji2"></label>
			</view>
			<!-- 头像商城 -->
			<navigator url="../../doing/doing" class="head-shop">
				<text style="margin-right: 20rpx;">头像商城</text>
				<label class="iconfont icon113fangxiang_xiangyou"></label>
			</navigator>
		</view>
	</view>
</template>

<script>
	
	var _self
	import utils from "@/common/util.js"
	
	export default {
		data() {
			return {
				user: {}
			}
		},
		onLoad() {
			_self = this
			var userinfo = uni.getStorageSync("userInfo")
			if(userinfo != ""){
				_self.user = userinfo
			}else{
				// 关闭所有页面跳转登录页面 同时关闭定时任务
				uni.reLaunch({
					url:'../../../login/addAndRegister/addAndRegister',
					animationType: 'pop-in',
					animationDuration: 200
				})
			}
		},
		methods: {
			// 修改头像
			editHead(){
				uni.showActionSheet({
				    itemList: ['查看头像', '拍摄动态头像', '从相册选择图片','拍照'],
				    success: function (res) {
						var index = res.tapIndex
						var temPath
						if(index == 0){
							// 查看头像
							uni.previewImage({
								urls:[_self.user.headPic],
								longPressActions: {
									itemList: ['发送给好友', '转发到空间', '保存到手机','收藏'],
									success: function(data) {
										// var idx = data.tapIndex
										if(data.tapIndex == 0){
											// 发送给好友
											
										}else if(data.tapIndex == 1){
											// 转发到空间
											
										}else if(data.tapIndex == 2){
											// 保存到手机
											uni.downloadFile({
											    url: _self.user.headPic, //仅为示例，并非真实的资源
											    success: (res) => {
											        if (res.statusCode === 200) {
											            console.log('下载成功');
														uni.saveImageToPhotosAlbum({
															filePath: res.tempFilePath,
															success: function() {
																uni.showToast({
																	icon:'none',
																	title:'保存成功'
																})
															},
															fail: function() {
																uni.showToast({
																	icon:'none',
																	title:'保存失败，请稍后重试'
																})
															}
														});
											        }else{
														console.log('下载失败')
													}
											    }
											});
											
										}else{
											// 收藏
											
										}
										// console.log('选中了第' + (data.tapIndex + 1) + '个按钮,第' + (data.index + 1) + '张图片');
									},
									fail: function(err) {
										console.log(err.errMsg);
									}
								},
							})
						}else if(index == 1){
							// 拍摄动态头像
							uni.chooseImage({
							    count: 6, //默认9
							    sizeType: ['original', 'compressed'], //可以指定是原图还是压缩图，默认二者都有
							    sourceType: ['camera'], //从相机选择
							    success: function (res) {
							        console.log(JSON.stringify(res.tempFilePaths));
							    }
							});
						}else if(index == 2){
							// 从相册选择图片
							uni.chooseImage({
							    count: 6, //默认9
							    sizeType: ['original', 'compressed'], //可以指定是原图还是压缩图，默认二者都有
							    sourceType: ['album'], //从相册选择
							    success: function (res) {
							        console.log(JSON.stringify(res.tempFilePaths));
									const tempFilePaths = res.tempFilePaths;
									var uploadTask = uni.uploadFile({
										url: utils.basicUrl+'/file/upload', //仅为示例，非真实的接口地址
										filePath: tempFilePaths[0],
										name: 'file',
										formData: {},
										success: (uploadFileRes) => {
											var res = JSON.parse(uploadFileRes.data)
											// 修改头像
											_self.user.headPic = res.data.url
											// 更新数据
											uni.setStorageSync("userInfo",_self.user)
											utils.updataUserInfo(_self.user)
											// console.log(uploadFileRes.data);
										},
										fail:(res)=>{
											console.log(res)
										}
									});
									
									uploadTask.onProgressUpdate((res) => {
										console.log('上传进度' + res.progress);
										console.log('已经上传的数据长度' + res.totalBytesSent);
										console.log('预期需要上传的数据总长度' + res.totalBytesExpectedToSend);
							
										// 测试条件，取消上传任务。
										// if (res.progress > 50) {
										// 	uploadTask.abort();
										// }
									});
									 
							    }
							});
						}else{
							// 拍照
							uni.chooseImage({
							    count: 6, //默认9
							    sizeType: ['original', 'compressed'], //可以指定是原图还是压缩图，默认二者都有
							    sourceType: ['camera'], //从相机选择
							    success: function (res) {
							        console.log(JSON.stringify(res.tempFilePaths));
									const tempFilePaths = res.tempFilePaths;
									var uploadTask = uni.uploadFile({
										url: utils.basicUrl+'/file/upload', //仅为示例，非真实的接口地址
										filePath: tempFilePaths[0],
										name: 'file',
										formData: {},
										success: (uploadFileRes) => {
											var res = JSON.parse(uploadFileRes.data)
											// 修改头像
											_self.user.headPic = res.data.url
											// 更新数据
											uni.setStorageSync("userInfo",_self.user)
											utils.updataUserInfo(_self.user)
											// console.log(uploadFileRes.data);
										},
										fail:(res)=>{
											console.log(res)
										}
									});
									
									uploadTask.onProgressUpdate((res) => {
										console.log('上传进度' + res.progress);
										console.log('已经上传的数据长度' + res.totalBytesSent);
										console.log('预期需要上传的数据总长度' + res.totalBytesExpectedToSend);
																
										// 测试条件，取消上传任务。
										// if (res.progress > 50) {
										// 	uploadTask.abort();
										// }
									});
							    }
							});
							
						}
				        // console.log('选中了第' + (res.tapIndex + 1) + '个按钮');
				    },
				    fail: function (res) {
				        console.log(res.errMsg);
				    }
				});
			}
		}
	}
</script>

<style>
	@import url("editHeadPic.css");
</style>
